<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>RVM : MMTk Tutorial</title>
        <link rel="stylesheet" href="styles/site.css" type="text/css" />
        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>

    <body>
        <div id="page">
            <div id="main">
                <div id="main-header" class="pageSectionHeader">
                    <h1 id="title-heading" class="pagetitle">
                                                <span id="title-text">
                            RVM : MMTk Tutorial
                        </span>
                    </h1>

                    <div class="page-metadata">
                        <p>This page last changed on Nov 11, 2011 by <font color="#0050B2">ebrangs</font>.</p>
                    </div>
                </div>

                <div id="content" class="view">
                    <div id="main-content" class="wiki-content group">
                    <h3 id="MMTkTutorial-Overview">Overview</h3>

<p>This tutorial will build up a sophisticated garbage collector from scratch, starting with the empty shell that is the <strong>NoGC</strong> &quot;collector&quot; in MMTk (collector is a misnomer in this case since NoGC does not collect), and gradually adding functionality.  </p>

<p>This tutorial will tell you the mechanics of <em>building</em> a collector in MMTk.  It will tell you <em>how</em> but it does not tell you anything about <em>why</em>.  The tutorial thus serves two purposes: 1) to give you some insight into the mechanics of MMTk (but <em>not</em> the underlying reasons or design rationale), and 2) show you that the mechanics of building a non-trivial GC in MMTk is not hard, hopefully giving you confidence to start exploring MMTk more deeply.</p>

<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
<p>The current version of the tutorial was written with respect to the Jikes RVM just prior to 3.0.2.  So please use either the head or 3.0.2 (if it is available).</p></td></tr></table></div>

<h3 id="MMTkTutorial-1Preliminaries"><a href="Preliminaries.html">1 Preliminaries</a></h3>

<h3 id="MMTkTutorial-2BuildingaMark-sweepCollector"><a href="Building%2Ba%2BMark-sweep%2BCollector.html">2 Building a Mark-sweep Collector</a></h3>

<h3 id="MMTkTutorial-3BuildingaHybridCopyingMark-SweepCollector"><a href="Building%2Ba%2BHybrid%2BCollector.html">3 Building a Hybrid Copying/Mark-Sweep Collector</a></h3>


                    </div>

                    
                 
                </div>             </div> 
            <div id="footer" style="background: url(http://docs.codehaus.org/images/border/border_bottom.gif) repeat-x;">
                <p><small>Document generated by Confluence on Feb 17, 2012 10:24</small></p>
            </div>
        </div>     </body>
</html>
